Single Time-Stamped Tries for Retroactive Call Subsumption
نویسندگان
چکیده
Tabling is an evaluation strategy for Prolog programs that works by storing answers in a table space and then by using them in similar subgoals. Some tabling engines use call by subsumption, where it is determined that a subgoal will consume answers from a more general subgoal in order to reduce the search space and increase efficiency. We designed an extension, named Retroactive Call Subsumption (RCS), that implements call by subsumption independently of the call order, thus allowing a more general subgoal to force previous called subgoals to become answer consumers. For this extension, we propose a new table space design, the Single Time Stamped Trie (STST), that is organized to make answer sharing across subsumed/subsuming subgoals simple and efficient. In this paper, we present the new STST table space design and we discuss the main modifications made to the original Time Stamped Tries approach to non-retroactive call by subsumption. In experimental results, with programs that stress some deficiencies of the new STST design, some overheads may be observed, however the results achieved with more realistic programs greatly offset these overheads.
منابع مشابه
Retroactive Subsumption-Based Tabled Evaluation of Logic Programs
Tabled evaluation is a recognized and powerful implementation technique that overcomes some limitations of traditional Prolog systems in dealing with recursion and redundant sub-computations. Tabling based systems use call similarity to determine if a tabled subgoal will produce their own answers or if it will consume from another subgoal. While call variance has been a very popular approach, c...
متن کاملEfficient Retrieval of Subsumed Subgoals in Tabled Logic Programs
Tabling based systems use call similarity to decide when a tabled subgoal should produce or consume answers. Most tabling engines do that by using variant checks. A more refined method, named call subsumption, considers that a subgoal A will consume answers from a subgoal B if A is subsumed by B, thus allowing greater answer reuse. Recently, we have developed an extension, called Retroactive Ca...
متن کاملEfficient instance retrieval of subgoals for subsumptive tabled evaluation of logic programs
Tabled evaluation is an implementation technique that solves some problems of traditional Prolog systems in dealing with recursion and redundant computations. Most tabling engines determine if a tabled subgoal will produce or consume answers by using variant checks. A more refined method, named call subsumption, considers that a subgoal A will consume from a subgoal B if A is subsumed by (an in...
متن کاملcient Engine for Subsumption - Based Tabled Evaluation
Tabled resolution methods increase the declarativeness and eeciency of logic programs through the sharing of answer computations. In variant-based tabled logic programming systems, answer computations are shared only between calls that are identical modulo variable renaming. Subsumption-based tabling can yield superior performance by sharing answer computations between a more general (subsuming...
متن کاملFalse Implications in Retroactive Choice Situations
What can time-travel cases tell us about rational choice? In particular, what can we learn about rational choice from what we may call retroactive choice situations, that is, from time-travel cases in which the circumstances where an agent makes a choice depend causally on the choice the agent makes? Such cases have been thought to call into question the dominant theory of rational choice among...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1112.3779 شماره
صفحات -
تاریخ انتشار 2011